n = int(input())
for i in range(n):
a = list(int(x) for x in input().split())
a.sort()
if (a[-1] == a[1]+a[0]):
print("YES")
elif a[0]==a[1]:
if (a[2]%2==0):
print("YES")
else:
print("NO")
elif a[2]==a[1]:
if (a[0]%2==0):
print("YES")
else:
print("NO")
else:
print("NO")
#include<iostream>
#include<vector>
#include<algorithm>
typedef long long ll;
int main() {
ll t, a, b, c;
std::cin >> t;
while (t--) {
std::cin >> a >> b >> c;
std::vector<ll> nums;
nums.push_back(a);
nums.push_back(b);
nums.push_back(c);
sort(nums.begin(), nums.end());
if (nums[0] + nums[1] == nums[2] ||
(count(nums.begin(), nums.end(), nums[1]) >= 2 &&
(a + b + c) % 2 == 0))
std::cout << "YES" << std::endl;
else std::cout << "NO" << std::endl;
}
}
WLDRPL Wildcard Replacement | 1221. Split a String in Balanced Strings |
1002. Find Common Characters | 1602A - Two Subsequences |
1555A - PizzaForces | 1607B - Odd Grasshopper |
1084A - The Fair Nut and Elevator | 1440B - Sum of Medians |
1032A - Kitchen Utensils | 1501B - Napoleon Cake |
1584B - Coloring Rectangles | 1562B - Scenes From a Memory |
1521A - Nastia and Nearly Good Numbers | 208. Implement Trie |
1605B - Reverse Sort | 1607C - Minimum Extraction |
1604B - XOR Specia-LIS-t | 1606B - Update Files |
1598B - Groups | 1602B - Divine Array |
1594B - Special Numbers | 1614A - Divan and a Store |
2085. Count Common Words With One Occurrence | 2089. Find Target Indices After Sorting Array |
2090. K Radius Subarray Averages | 2091. Removing Minimum and Maximum From Array |
6. Zigzag Conversion | 1612B - Special Permutation |
1481. Least Number of Unique Integers after K Removals | 1035. Uncrossed Lines |